package model

import (
	"gorm.io/gorm"
	"time"
)

type House struct {
	Id        uint           `gorm:"column:id;type:bigint(20) UNSIGNED;primaryKey;not null;" json:"id"`
	Title     string         `gorm:"column:title;type:varchar(255);comment:房源标题;not null;" json:"title"`                                          // 房源标题
	Price     uint           `gorm:"column:price;type:int(10);comment:房源价格;not null;" json:"price"`                                               // 房源价格
	Area      uint           `gorm:"column:area;type:int(10);comment:房源面积;not null;" json:"area"`                                                 // 房源面积
	City      string         `gorm:"column:city;type:varchar(50);comment:城市;not null;" json:"city"`                                               // 城市
	Address   string         `gorm:"column:address;type:varchar(255);comment:地址;not null;" json:"address"`                                        // 地址
	Community string         `gorm:"column:community;type:varchar(255);comment:小区名称;not null;" json:"community"`                                  // 小区名称
	ImgUrl    string         `gorm:"column:img_url;type:varchar(255);comment:图片;not null;" json:"img_url"`                                        // 图片
	VideoUrl  string         `gorm:"column:video_url;type:varchar(255);comment:视频;not null;" json:"video_url"`                                    // 视频
	Status    uint           `gorm:"column:status;type:tinyint(3) UNSIGNED;comment:房源状态:1:在售，2:已售，3:已下架，4:已锁定;not null;default:1;" json:"status"` // 房源状态:1:在售，2:已售，3:已下架，4:已锁定
	UserId    uint           `gorm:"column:user_id;type:bigint(20);comment:发布人;not null;" json:"user_id"`                                         // 发布人
	CreatedAt time.Time      `gorm:"column:created_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"created_at"`
	UpdatedAt time.Time      `gorm:"column:updated_at;type:datetime(3);not null;default:CURRENT_TIMESTAMP(3);" json:"updated_at"`
	DeletedAt gorm.DeletedAt `gorm:"column:deleted_at;type:datetime(3);default:NULL;" json:"deleted_at"`
}

func (h *House) TableName() string {
	return "house"
}
